In data communications, the term “client-server network” generally relates to a single-system integration of elements that share workload or that distribute workload. Generally, the “network” of a client-server network is a local area network (LAN) used to link computers, peripheral devices, or other elements or systems under some form of standard control. The “server” of a client-server network, typically, is the computer in the network that performs the bulk of centralized or generalized tasks. A “client” is an element in the network that may request information from or otherwise may use the resources of the server.
A client and a server communicate through the exchange of messages. There are many different types of messages. One type of message that may be exchanged between a client and a server is an error message. There are different kinds of error messages in a client-server network. One kind of error message is an error message that is passed from a client to a server.
A client may send an error message to the server after the error message is generated. Alternatively, a client may collect error messages in a log. At some point, the client may transmit the log including the collected error messages to the server.
At the server, the error messages in the transmitted log may be retrieved. Some client-server networks include a filter at the server to filter the error messages, typically, based on some selected feature of an error message such as urgency or source. In use, a filter may be applied at the server to the error messages of the transmitted log. The error messages retrieved through use of a filter may be referred to as filtered error messages. The retrieval of error messages through use of a filter at a server is referred to as the “filter-server system”.
FIG. 1 illustrates an example of the filter-server system described in the previous paragraph. Specifically, FIG. 1 illustrates a client-server network 10 including a server 12 connected to three clients 14a-c. Each client 14a-c accumulates, respectively, error messages in a log 16a-c. At some point, each client 14a-c transmits its respective log 16a-c to the server 12. The server 12 includes a filter 18 for use with respect to the error messages in the transmitted logs 16a-c received from the clients 14a-c. The filter 18 is applied to the error messages from each of the logs 14a-c to retrieve the filtered error messages.
Conveniently, a filter-server system allows for the retrieval at the server of filtered error messages. Among the drawbacks of the filter-server system is the drawback referred to as “over-transmission”. The over-transmission drawback stems from the fact that, in the filter-server system, all of the error messages in a log at the client are transmitted to the server prior to the filtering of the error messages. In other words, every single error message in the log is transmitted by the client to the server. But all of the error messages may not be ultimately retrieved at the client. Thus, the transmission of all of the error messages from the client to the server is an over-transmission of messages.
The over-transmission of error messages is not only unnecessary, but undesirable. In fact, the over-transmission of error messages adds unnecessary, and therefore, extraneous traffic to the network. Extraneous traffic negatively burdens the network such as through a slow-down in overall message transmission or even a slow-down of network operation. Extraneous traffic is particularly undesirable in a client-server network including many clients. Each additional client multiplies the extraneous traffic on the network, and therefore, unnecessarily burdens the network.
To avoid the over-transmission drawback posed by the filter-server system, a different system referred to as the “filter-client system” has been used. As the term implies, in a filter-client system, each of the clients in the client-server network is provided with a filter. Generally, the filter is provided by the server to the clients. The client applies the filter to the error messages in a log to obtain filtered error messages. The client then sends the filtered error messages to the server. By filtering the error messages at the client, the filter-client system avoids the over-transmission drawback because only the filtered error messages are transmitted from the client to the server. The error messages that fail to pass the filter at the client are not transmitted to the server.
Even though the filter-client system avoids the over-transmission drawback, the filter-client system has other drawbacks. One drawback is the “filter-decision” drawback. As explained, in the filter-client system, a client filters the error messages into filtered error messages, which are then transmitted to the server. Thus, the decision of whether an error message is a “filtered error message” is made at the client rather than at the server. One result of making the filter-decision at the client rather than at the server is that the error messages may be filtered incorrectly or may not be filtered as desired by the server. The server may receive extraneous error messages. In addition, the server may fail to receive desired error messages because such messages failed to pass the filter-decision at the client. Thus, filtering the error messages at a client, rather than at a server, takes the control of such decision making away from the server, and as a result, the error messages may not be filtered according to the desires of the server.
As noted, often a filter is provided from a server to each of its clients. In the case of a server providing the filter, the filter-decision drawback may appear to be avoided. The drawback may appear to be avoided because the server provides the filter for the decision making to each of the clients. If the client uses the filter provided by the server, then the server should, at least in theory, receive the error messages the server desires as filtered error messages.
Even when the server provides the client with the filter, the filter-decision drawback may not be completely avoided because of the passage of time and the events that may happen during that time passage. For example, assume a server provides its clients with a filter so error messages having a specific characteristic are passed to the server as filtered error messages. With the passage of time, the server may require error messages having a different characteristic as filtered error messages. Yet, the filter at each client continues to filter the error messages based on the specific characteristic rather than the different characteristic. As a result, the server may receive unnecessary, and therefore extraneous error messages. So, the client-server network may experience the over-transmission problem described above in connection with a filter-server system. Also as a result, the server may fail to receive its desired messages as filtered error messages.
The obvious solution to the filter-decision drawback may be for the server to send a new filter to its clients whenever there are changes required by the server in the filtering of error messages. This solution may be referred to as the “new filter” solution. For example, assume the server has sent a filter A to all of its clients. Time passes, and then the server requires error messages having different characteristics. The server sends another filter, a filter B, to all of its clients. Thereafter, the clients use the filter B to filter the error messages.
But the new filter solution has its own drawbacks. For example, in some cases, a client must be taken off the network or even shut-down in order to receive a new or changed filter. Obviously, taking a client off-line or shutting it down to accomplish the filter change may negatively affect the performance of the overall network as well as the client. If all of the clients have to be taken off-line or shut down for the filter change, the whole network may be negatively affected.
The drawbacks and problems discussed above have referred to error messages, but the drawbacks and problems also may apply to other types of information exchanged between a client to a server in a client-server network. These drawbacks and problems may especially apply if there is any type of filtering of information transmitted from a client to a server.
In sum, there is a need in client-server networks for improved methods and systems relating to the exchange of information between a client and a server in such networks. Particularly, there is a need for improved methods and systems that provide for the transmission of messages from a client to a server, and specifically, for the filtering of the messages so that only filtered messages are transmitted from the client to the server. Even more particularly, there is a need for improved methods and systems that accomplish the filtering of the messages at the client based on filter characteristics desired by the server. Finally, there is a need for improved methods and systems that accomplish the desired filtering without the need to take clients off-line or to shut them down or to otherwise burden the network.
As a result, per the present inventions, only filtered messages are transmitted from the client to the server. Moreover, the client filters the messages based on filter characteristics desired by the server. Further, the desired filtering is accomplished without the need to take a client off-line or to shut a client down or to otherwise burden the network.